A Tool for Logic Program Refinement
نویسندگان
چکیده
The re nement calculus provides a method for transforming speci cations to executable code, maintaining the correctness of the code with respect to its speci cation. In the original re nement calculus, the target language is an imperative programming language, but more recently a re nement calculus for deriving logic programs has been proposed. Due to the amount of detail involved, the manual re nement of programs is a tedious and timeconsuming task, and is therefore an obvious candidate for tool support. Several tools exist for the imperative re nement calculus, and in this paper we describe a prototype tool to support the recently developed re nement calculus for logic programs. The tool was developed using Ergo, an interactive theorem prover. To provide tool support for the calculus, its underlying semantic model was de ned within Ergo, and the laws of the calculus were proven in that framework. We illustrate the tool using a simple example re nement.
منابع مشابه
The Shadow Knows: Refinement and security in sequential programs
Stepwise refinement is a crucial conceptual tool for system development, encouraging program construction via a number of separate correctness-preserving stages which ideally can be understood in isolation. A crucial conceptual component of security is an adversary’s ignorance of concealed information. We suggest a novel method of combining these two ideas. Our suggestion is based on a mathemat...
متن کاملA tool for assisting the understanding and formal development of software
This paper presents a program understanding tool which documents programs by generating predicate logic annotations of their loops. The tool is based on an analysis by decomposition approach which utilizes a knowledge-base ofpla.ns in recognizing the high-level concepts in programs. Using data. :flow analysis, the decomposition encapsulates closely related statements in separate pa.rts, ca1.led...
متن کاملAbstraction Refinement for 3-Valued-Logic Analysis
ion Refinement for 3-Valued-Logic Analysis Alexey Loginov, Thomas Reps, and Mooly Sagiv 1 Comp. Sci. Dept., University of Wisconsin; {alexey,reps}@cs.wisc.edu 2 School of Comp. Sci., Tel-Aviv University; [email protected] Abstract. This paper concerns the question of how to create abstractions that are useful for program analysis. It presents a method that refines an abstraction automatical...
متن کاملAlgebras for Program Correctness in Isabelle/HOL
We present a reference formalisation of Kleene algebra and demonic refinement algebra with tests in Isabelle/HOL. It provides three different formalisations of tests. Our structured comprehensive libraries for these algebras extend an existing Kleene algebra library. It includes an algebraic account of Hoare logic for partial correctness and several refinement and concurrency control laws in a ...
متن کاملKleene Algebra with Tests and Demonic Refinement Algebras
We formalise Kleene algebra with tests (KAT) and demonic refinement algebra (DRA) in Isabelle/HOL. KAT is relevant for program verification and correctness proofs in the partial correctness setting. While DRA targets similar applications in the context of total correctness. Our formalisation contains the two most important models of these algebras: binary relations in the case of KAT and predic...
متن کاملذخیره در منابع من
با ذخیره ی این منبع در منابع من، دسترسی به آن را برای استفاده های بعدی آسان تر کنید
عنوان ژورنال:
دوره شماره
صفحات -
تاریخ انتشار 1997